package dominioTanque;

import java.util.ArrayList;
import java.util.List;


import api.ObjetoDominio;
import api.Respuesta;
import api.Suceso;

public class ObjetoTanque extends ObjetoDominio {

	public ObjetoTanque(Tanque elementoDominio,boolean observaCancelables) {
		super(elementoDominio);
	}

	//Metodo privado para llamar cuando una respuesta recibida es una respuesta que el objeto sabe interpretar
	public void interpretarRespuesta(Respuesta respuesta) {		
		// En principio el tanque no le interesa ninguna respuesta, el solo sensa
		// si esta vacio o lleno y lo notifica
	}
	
	public void notificarMensaje(String mensaje) {
		List<Suceso> sucCancelados = new ArrayList<Suceso>();

		if (mensaje.compareTo(Tanque.tanqueVacio) == 0){
			String mensajeCancelado = Tanque.tanqueLleno;
			Suceso sucesoCancelado = new Suceso(mensajeCancelado);
			sucCancelados.add(sucesoCancelado);			
		}
		else if (mensaje.compareTo(Tanque.tanqueLleno) == 0){
			String mensajeCancelado = Tanque.tanqueVacio;
			Suceso sucesoCancelado = new Suceso(mensajeCancelado);
			sucCancelados.add(sucesoCancelado);			
		}
		String mensajeTanque = mensaje;
		Suceso suceso = new Suceso(mensajeTanque,sucCancelados);		
		enviarSuceso(suceso);
	}

}
